package com.uacp.sgb.datos.dominio.persistencia.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;

import com.uacp.sgb.datos.dominio.entidades.Bien;
import com.uacp.sgb.datos.dominio.entidades.Dependencia;
import com.uacp.sgb.datos.dominio.entidades.Equipo;
import com.uacp.sgb.datos.dominio.entidades.Mueble;
import com.uacp.sgb.datos.dominio.entidades.Trabajador;
import com.uacp.sgb.datos.dominio.persistencia.util.UtilManager;

public class MuebleDao 
{
	private MuebleDao()
	{
		
	}
	public static List<Mueble> listar()
	{
		EntityManager em = UtilManager.getEntityManager();
		Query query = em.createNamedQuery("Mueble.listar");
		List<Mueble> muebles = query.getResultList();

		em.close();
		
		return muebles;
	}
	
	public static void guardar(Mueble mueble) 
	{		
		EntityManager em = UtilManager.getEntityManager();
		EntityTransaction et = em.getTransaction();
		
		et.begin();
		em.persist(mueble);
		et.commit();
		em.close();
	}
	
	public static List<Mueble> getMueblesDependencia(Dependencia dependencia) 
	{
		EntityManager em = UtilManager.getEntityManager();
		
		Query query = em.createNamedQuery("Mueble.listarMueblesAlta");
		query.setParameter("dependencia", dependencia.getNombre());
		List<Mueble> muebles = query.getResultList();
		em.close();
		
		return muebles;
	}
	public static List<Mueble> listarMueblesTrabajador(Trabajador trabajador) 
	{
		EntityManager em = UtilManager.getEntityManager();
		
		Query query = em.createNamedQuery("Mueble.listarMueblesTrabajador");
		query.setParameter("nroDoc", trabajador.getNroDoc());
		
		List<Mueble> muebles = query.getResultList();
		em.close();
		
		return muebles;
	}
}
